MM Edit is in BETA, this is an unfinished work and prone to problems. If you voluntarily choose to use MM Edit then you accept all potential risks and damages from your willful use of MM Edit. MM Edit is (c)2002, J. Gordon Pine. You may freely distribute MM Edit without any alterations to the file(s). If you do distribute it, you must include all files included with the original archive without alteration, unless noted. The original distribution archive contains:

******************************************
Please READ the "Install-Readme.txt" file!
******************************************

MM_Edit.exe (the application)
Install-Readme.txt (Notes about installing/setting up the ini)
MM Edit Changes.txt (this file)
Contents of /Help sub-dir:
  00CPHelp_README.txt (info about editing the 00CPHelp.txt file)
  00CPHelp.txt (this file contains material copyright Aaron O'Neil, used by permission. You may edit this file for distribution adding and/or removing info.)
  MM_Edit_HELP.txt (help file used when the About|Help menu is selected)

**I can use feedback. If you have ideas, suggestions, problems please let me know via MM's message board. There's little motivation to work on this without some feedback, even if critical.**

Please post questions/bugs/suggestions on the Mud Master Console discussion board http://www.mud-master.com/forum/index.php?board=2 -- I check it multiple times a day.


+=======+
|CHANGES|
+=======+

RECENT:
==[23 Oct 04]== v1.1.5
--"WR" icon in status bar, you can click it to toggle word wrapping on/off.
-- Basic UnDo functionality. Hitting Ctrl+z will undo up to the last FOUR (4) things that you did. This is pretty basic, I'm just storing the textbox contents into an array. Use it mostly for emergencies. It's rather limited -- ANY change to the text box advances the save. Type "1" it saves, Type "2" it saves "12", type "3" it saves 123, Hit Ctrl+z and it reloads "12". Hit it again and get "1", again and it should still be "1".
--minor code changes.


OTHER CHANGES:
==[28 Jul 04]== v1.1.4
(title bar says v1.1.3, but it is 1.1.4)
--It's been a year since I've worked on this, but here's the latest with some changes I made about a year ago and some changes I've made recently.
--Word Wrap option (thanks Ohgma for the API call code, sorry it took me SO long to post this addition) is available under the "Options" menu. Word Wrapping is ON by default.
--Removed the "debug" pop-up warning when using Save (and/or hitting Ctrl+S). BUT -- keep tabs on your saves and lemme know if MM Edit saves incorrectly (I believe that it is working properly).
--Some minor code changes.
--What else I did a year ago I dunno, been too long to remember.

==[31 May 03]== v1.1.2
--Hopefully fixed bug with saving files. Previously if you opened a file off the recent file list, and hit Save (or Ctrl+s) it would save as the last known SAVED filename. Ex. You edit and save Joe.txt, hit the recent file list and open up Sally.txt, hit Ctrl+S to save -- it would save as Joe.txt. I put in a pop-up warning when using Save (or Ctrl+S) to confirm the file name it's saving as just in case saving screws up still.

==[26 May 03]==
--Help path no longer in the ini. Requires that 00CPhelp.txt is in a "Help" sub-dir off dir where MM_Edit.exe is.

==[24 May 03]== v1.1.1g
--Wildcards %0-%9 now colored in the Operator color.
--Find dialog stays in focus until closed.
--Find and Replace dialogs won't load if there's no text in the editor.
--Find dialog now defaults to the Find button when user inputs text in the search box.
--New routine to get the right-click-on-main-textbox menu to pop up, using that now.

==[03 May 03]== v1.1.1f
--Added little pop-up edit menu when you right-click the text box.
--Small update to the html Manual.

==[17 Apr 03]== v1.1.1e
--Removed the progress bar when colorizing. It now shows progress in the status bar.
--Fixed a number of coloring problems, mostly related to the MMSC style color and coloring "on the fly".

==[26 Mar 03]== v1.1.1d
--Put in a status bar, isn't doing a lot. Shows status of CapsLock and NumLock, as well the status of the option to Auto-Complete Bracers. You can click the bracer icon on the status bar to toggle it (I like this as I like the auto-complete for big procs, but not necessarily for general scripting.. now I can quickly turn it on when building a large proc, then quickly turn it off).
--Minor fixes/code changes here and there.

==[21 Mar 03]== v1.1.1c
--Finally found a way to trap special keys like Ctrl+V (paste). So I can now actually assign hotkeys without worrying about the rtf textbox control running the routine a second time (which it was doing, but I had avoided it by not assigning a hotkey (you may have noticed the Ctrl+V Paste hotkey wasn't actually a hotkey but a sub routine I had implemented)). Anywho, fixed that now.
--Fixed bug that would crash MM Edit if you tried to open a file from the Recent Files menu list, but the file no longer existed in the given path.

==[19 Mar 03]== v1.1.1b
--Added five "Recent Files" to the File menu. When you *save* a file, it will be placed into this list, so you can quickly load up a file you've recently worked on.
--The various check-markable menu items' states now saved to the ini file.
--Added "Auto Complete Bracers" menu option under the Options menu. This will automatically add a closing bracer. This can be a little confusing, but I find it extremely handy with procs within procs like @PadLeft(@GetItem(SomeList,3), ,@Math(15-@Len(@GetItem(SomeList,3)))), etc. You just have to get used to not automatically typing a closing bracer, because it's already there! Hint: I type commas that a proc requires before imbedding more procs into the current proc. I'm finding that building big proc strings is much faster now that I'm getting familiar with using "bracer auto-completion".

==[18 Mar 03]== v1.1.1a
--Added definable color for Operators (=,>,<,!,&,| and also included quotation mark "). Hopefully I got everything updated related to this; including saving to the ini, and the Colorize function (which operates differently from just typing stuff in and coloring on the fly.
--Compiler now works with rtf files, and won't change your current document that is loaded in MM Edit. It will make a new file in the same directory as your currently loaded document, as the same name, but with an added extension of ".mme".
--You can anchor the search string (in the multifunction search thinger) with a caret "^". Anchored strings will only show results for matches that *start* at the beginning of a line, just like anchoring action triggers.
--Compiler option to Add Cr/Lf's now works properly, I forgot to check the state of the flag. Previously it was always just adding Cr/Lf's regardless if you unchecked the option or not.

==[5 Mar 03]== v1.1.1
--Incorporated MMSC into MM Edit. Load up the "Compiler Help_Load me Into MM Edit.rtf" file.
--You can reorder the list columns in the Multifunction thinger. Simply click and drag a column header.

==[27 Feb 03]== v1.1.0a
--Beginnings of Group checking with the multifunction thinger, please refer to the CSChecker_Readme.txt file for more info.
--Basic sorting of list columns (click the header).
--On invoking the Find or Replace dialogs, they'll will pre-load a given string if any text has been highlighted.

==[14 Feb 03]== v1.1.0 (Beta)
--Beginnings of the Command Syntax Checker/DB thinger. Refer to the CSChecker_Readme.txt for more info.
--New menu item: Options|Set Command Character - You can input the command character that you use for scripting.
--New field/item in the ini file. [Misc], CommandCharacter=<char>

==[13 Feb 03]== v1.0.9d
--Font type/size now loads correctly when loading a file via file association.
--The Command/Proc inserter list-help thinger is now resizeable (in width).
--Added Edit|Bold, Edit|Italic, and Edit|Underline (Ctrl+B, Ctrl+I, and Ctrl+U hotkeys).
--Font Bold and Italic settings removed from the ini file.
--Added a few more gloriously beautiful buttons.
--Asc<->Chr calc now autoselects the ascii character so you can just type in single characters without needing to hit backspace constantly. (Still have to backspace the numeric value field.)
--Redrawing the app is a tiny bit faster (not noticable really :p) when you use the selected-text-bracer-check function and have the option to view the cursor's progress on (Tools menu).

==[12 Feb 03]== v1.0.9c
--Added a few more buttons, enjoy my amazing graphical work.
--Added a bit more spew to the BracerMatching-Readme.txt file about limitations of using the selected text bracer checker function.
--Popup dialogs that warn about unsaved work (like when you exit) now are a little more logical, and default to "No" (abort).
--Using Ctrl+A to "select all" will no longer change the entire text box's contents to the default text color.

==[11 Feb 03]== v1.0.9b
--Added menu Tools|Show Active Progress - for the Selected Text Bracer Check. Leaving this checked will display the positions as they are being checked. If you want speed, uncheck this option. The routine is VERY fast with this option unchecked. For example: I ran it with showing the progress on a 23k (rtf encoded) file with a good amount of commands. I had it check the entire file (it had no errors in it to begin with so it was running non-stop). It took ~58 seconds to check the entire file. I unchecked the Show Active Progress and it took less than a second. Redrawing the rtf control is incredibly slow. So if you want speed, then leave this option off.

==[11 Feb 03]== v1.0.9a
--Fixed the right margin, had it set to 0 :P Cures the massive wiggly affect when using the bracer checker.
--If you hit Cancel when a mismatched bracer was found (doing bracer checker), it wouldn't re-enable the text box. Does now.

==[10 Feb 03]== v1.0.9 (Beta)
--Another bracer matching option: Selected Text Bracer Check (F12 Hotkey). See the "BracerMatching-Readme.txt" file for more info.

==[ 9 Feb 03 ]== v1.0.8f
--Ini defined font type/styles will now work properly when loading a *plain text* file.
--Silly icons added to most dialogs
--Background Color is now updating properly when using the Color Picker to set up colors.
--File Association works now. If you associate a file with MM Edit, then MM Edit will open that file when the file is envoked (eg: via dbl-clicking the file from File Explorer).
--Added menu: Edit|Find Next and hotkeyed as F3. Initially this option is grayed out, you must first open the Find dialog and type in a string to search for.
--Added menu: File|Save and hotkeyed as Ctrl+s (formerly ctrl+s = Save As...). If the current document has not yet been saved, this will open up the Save As... dialog.
--Removed the MainPath=xxx line from the ini file. Actually haven't been using this line for a while. You still need to manually edit the "HelpPath=xxx" in the ini file. You can use any path, just that you must point to the path where the help files are.

==[ 8 Feb 03 ]== v1.0.8e
--Find Matching Bracer hotkey isn't F12 anymore, it's now Ctrl+\.
--Fixed a couple mistakes/typos in the 00CPhelp_README.txt file.
--On startup the title bar will show the version (assuming I remember to update it).
--Lots of internal code changes, but nothing apparent to the user (except perhaps bugs :)

==[ 7 Feb 03 ]== v1.0.8d
--Will now find (highlight) bracer if the last bracer is the very last character in the file (bracer matching routine).
--Few small changes, nothing special to note.

==[ 5 Feb 03 ]== v1.0.8 (Beta)
--Bracer matching shouldn't crash as long as there's not more than ~2.1 billion characters in the text box. If there's more than 2 billion characters in your script then you are a serious scripter and should probably have your brain donated to science!
--Added search for next|previous bracer under Tools menu. Also hotkeyed as Ctrl+[ (reverse search), and Ctrl+] (forward search). This just finds the bracer, you still need to use F12 to find a particular bracer's matching bracer.
--heh kept forgetting to add this, but added a "New" option under the File menu. Basically it just wipes the slate clean.

==[ 4 Feb 03 ]== v1.0.8 (Beta)
--Bracer matching (like ctrl+] in mm's fedit) is in, under the Tools menu, or hit F12
--Font info is now saved to the ini file.
--Removed (commented out) the pop-up warning (estimate on time to do it) when you colorize.
--Some minor stuff not worth mentioning...

==[ 31 Jan 03 ]== v1.0.7 (Beta)
--Finished up the (main app) window position saving, fixing a few bugs with it.
--Fixed, yet again, problems with it finding the right path. This time it would fart out trying to find the ini if you opened or saved a file in a directory other than the root dir, then exited the app, then started it again (at which time it would crash, cuz it couldn't find the ini). Hopefully all path issues are solved now.
--Couple minor changes/fixes here and there.

==[ ]==
--Fixed path problem with "Load"ing the 00CPhelp.txt file when using the command/proc picker.

==[ 29 Jan 03 ]== v1.0.6 (Beta)
--Removed saving positions for dialogs, only colors and the main application position/size is saved. Saving of these settings occurs when you exit the application.
--Fixed the minor bug in the color picker not showing the current background color when you first load the color picker dialog.


==[ 27 Jan 03 ]== v1.0.6 (Beta)
--Trying to implement an ini file to store colors and window positions. There's a small drawback; Due to the way moving a dialog works, I can't know *when* a dialog has moved (I can easily know when the main window is resized/repositioned).

*************************
NOTE, DO NOT IGNORE THIS: (if you had older version of the ini...)
*************************
You MUST edit the ini file (use notepad or something) and CHANGE THE TWO PATHS.

[Paths]
MainPath=D:\APPS\Project EXEs\MM Edit
HelpPath=D:\APPS\Project EXEs\MM Edit\Help
******************************************
The MainPath=... is the path where MM_Edit.exe is and where the MM_Edit.ini file is. This path MUST contain both of those files.
The HelpPath=... is the path where you have the help files for the Command/Proc picker, this can be any path you'd like to use for the "00CPhelp.txt" file.

--There's a bug in the color picker for picking text colors. The background color will show as blue, regardless of what you actually have it set to, when you first open the color picker. Haven't looked at this yet, but should be simple to fix.
Note: I have set the ini initially for window positions, hopefully this fits most people's monitors without much problem


==[ 18 Jan 03 ]== v1.0.6 (Beta)
--Fixed crash if colorizing selected text and the selection started at the beginning of the textbox.
--Fixed progress bar to work with new colorizing routines.
--Fixed colorizing selected text, now colorizes exactly what you have selected (before it was coloring one extra character beyond what was selected).
--Default background is now black, apparently few realize you can change colors :p I guess few recall the blissful blue of msdos' EDIT, nor READ anything. To choose your own color scheme: choose Options|Colors, a little picker pops up. Double click any text line or the background box to get a color palette. Hit ok, close. Colors do not save (yet), read above "Note" spew :p .. so if you close the app you'll have to define your colors again.
--Opening any file, other than an *.rtf, will initially color the entire contents in the default text color.
--Opening a file now warns you if you currently have unsaved work.
--Save As... now defaults to All Files for the file type.
--Added a progress bar when colorizing (slows the process down slightly, but gives a visual indicator that something is actually going on).
--Added new menu option under Edit, Colorize Selected Text.


==[ 15 Jan 03 ]== v1.0.5 (Beta)
--Wasn't checking for modulus (%) during colorizing, am now. :)
--MMSC flags now colored properly when typing it in (the leading "/" gets colored to match the MMSC color)
--Added a warning if you try to exit without saving.
--Removed the seperate RTF and TXT Save As menu items/buttons and made it one function/menu/button.
--Rewrote how the Command/Proc picker works. You can now edit the main file it uses to add/remove items and help info. Refer to the 00CPHelpREADME.txt file in the Help dir. (if you previous got all those seperate help files you can delete them, but you might wait as you may want to copy them into the 00CPHelp.txt.)
--Fixed/Improved a few methods I was using at various points in the code.


==[ 06Jan03 ]== v1.0.4 (Beta)
--Rewrote the "Colorizing" routines, I only have a 13k script file to test on, which took about 10 seconds (at least) previously to color. Now it's doing it in about 1-2 seconds for me. Will try to get it to work a bit faster still...
--Fixed crash bug if there were cr/lf's at the top of the file before any text was entered.
--Again fixed bug with About dialog if the path/file didn't exists, should be all fixed now :p
--Added Colorize button on the button bar, it's the paint brush.. and I put in a warning about colorzing huge files.

==[ 03Jan03 ]== v1.0.3 (Beta)
--Fixed a bug with opening files, they now load properly the first time (before you had to load it twice).
--Added "Colorize" under the "Edit" menu. This will add color to a plain text (script) file. On larger files it will seem a bit sluggish. I'll try to improve on it some, but there's a lot of comparisions it's doing for nearly every character in the text file. Seems to work well enough though, just be patient if it seems to stall (you should get an hourglass cursor while it's working).
--"About" info isn't showing up for me, dunno why but I'm too tired to look into that right now.


==[ 02Jan03 ]== v1.0.2 (Beta)
--Removed the Mini Calculator, and made it a seperate application.
--Fixed the About problem that might have crashed MMEdit for some folks.
--Some changes to the main app look, including a (yet unfinished) tool bar.


==[ 01Dec02 ]== v1.0.1 (Beta)
--Improvements to the Mini Calc. Catching more potential errors, although it's still possible to overflow it with astronomical values. I'm too lazy to think about those, so if you're inclined to work with values beyond what most would consider "normal values", so be it, overflow! Added regular keyboard keystrokes to do the calculator inputs, see the About menu for more info.


==[ 30Nov02 ]==
--Added a Mini Calc. Pretty basic math functions, but will support floating point math. Basically just hit a number(s), hit math function, hit second number(s), hit equals. Can repeatidly hit equal to increment the result by the second value you input. "M" = memory, will store the current value shown in the top display. "MR" recalls that value. You might need to AC (all clear) before trying to use memory recall values. eg; I think this won't work (maybe I fixed it I forget heh.. hit: "2", "*", "4", "=", gives result of 8, hit "M" (stores "8"), hit "*", "MR" I think will do 8*2, not 8*8 as you might think it should (and it should..eventually). Clear ("C") will clear the current input, so if you do: "2", "*", "4", "C", "6", "=" you'll get 2*6. "CT" will clear the review text box. "DP" will set how many decimal places to round to, it works off the current value shown, from 0 (no rounding) to 9, if the value shown in the calc's display is <0 or >9 then rounding will default to 4.
--Added an About menu option, which will display a little help file. Changed the name of this file to "MM EDit Changes.txt".


==[ 29Nov02 partII ]==
New Version: MM_Edit, v1.0.0 (Beta)
--All help files are now included for the command/proc help. These are in the zip archive and should create/expand into a sub-dir called "Help" when you unzip it.
--Added in an Asc<->Chr converter (under Tools menu). Simply enter a character or asc value. This uses Terminal Font, the extended character set might not perfectly match MM's own font set, but it'll be accurate for all normal characters, and appears to be pretty accurate for the extended characters as well.


==[ 29Nov02 ]==
--Little more work on the command/proc picker and help system. Now to insert the command or proc you can either double-click the list item, or use ctrl+leftmouse. Help still pops up via Alt+Lclick. Added in error catching for missing files, so doing help on something with no help file won't crash the app now. Procs will now paste into the text box (double-click or ctrl+Lclick). Also now allow resizing of the popup (help).
--Help files are included in the zip, and will extract to a sub-dir called "Help". I'll be slowly working on more help files over time, think I have about 170 more to go, as well I have and probably will continue to exclude help files that I feel are less script-based.


==[ 28Nov02 ]==
--Happy Tday :)
--The beginnings of a command/proc picker and Help system. Being lazy I'm using MM's help files, although I'm slightly editing them. Before using the help function you need to: Create a sub-dir off the directory where MM_Edit.exe is, the dir must be called "help" eg: you have MM_Edit.exe in c:\MMEdit, create a sub dir called c:\MMEdit\Help. Then put the numbered help file(s) into the help dir. Currently only a few commands will work, otherwise you'll get a run-time error if the help file isn't found (no error checking yet so be patient..). You can safely test this function with the first 3 commands (/action, /alias, /altgr), which are help files 0.hlp, 1.hlp, and 2.hlp.
To use the picker.. Under the Tools menu, choose the option, you get a display with commands and procs. Use Ctrl+LeftMouse to insert the command/proc into the text box, or use Alt+LeftMouse to call up the help file. I've excluded a few commands/help files that didn't seem needed, such as /edit..., and /fedit..., and I'll probably remove a few more that pertain more to MM setup than towards scripting -- unless I get any feedback that people want all help files available for review.
As of this writing, the Proc side of the picker doesn't do anything at all, other than display the procs. Included in the zip are the first 3 help files (0.hlp-2.hlp).. I'll eventually archive them seperately as I (slowly) edit them and add more.


==[ 27Nov02 ]==
--Fixed nasty infinite loop bug in Replace All function. Set tab order in Replace dialog.


==[ 26Nov02 partII ]==
--Improved the Replace routines. Added Step forward [Step -->] and back [<-- Step] buttons. Using those it will begin the search for the word to replace from the current cursor location and prompt you if you wish to replace it or not. Added an "Origin" button as well which will return you to where you started from when you first invoked Replace.
--Quickly added a Set Bookmark and GoTo Bookmark menu option (under Tools). "Set Bookmark" will store the current cursor location. "GoTo Bookmark" will return you to the saved cursor position. If you don't define a bookmark "GoTo Bookmark" will go to the beginning of the textbox.
--some minor cosmetic changes


==[ 26Nov02 ]== (still v0.0.1Beta)
--Added Replace routine, under the Edit menu. It's fairly limited as it will currently replace ALL occurances of the Find String with the Replace With string. You can leave the Replace With string empty to delete stuff (replaces it with null). Use leading and/or trailing spaces to denote whole words, else it'll replace a string match within a longer string (eg you Find "test" and replace with "okay", it would change "testing" to "okaying"). If you looked for "test " (trailing space) it wouldn't replace "testing". Course this sort of limits the use of it. I do want to expand on this function some for better control, but for now it's a Replace All replacer... There is a checkbox to ignore case. By default it will only replace exact case matches, so check the box if you want it to ignore case.
--some other minor changes/alignment of some controls that weren't lined up.
--I redid the main text box position/dimensions, it looks like it's sizing/resizing fine on my comp...


==[ 25Nov02 ]== (still v0.0.1Beta)
--Added this "help" doc to the zip
--Removed the FontName/Size combo boxes and now just using a common dialog to select fonts. Select font type from the Options Menu. Easier to use, and allows bold/italics if you want to use that.
--Added a Find routine, might still be a bit buggy, but seems to work. Standard find sort of, there is an "Origin" button that might confuse you. What happens is when you activate the Find dialog it stores your current cursor position. After goofing around with Find, you might wish to return to where you originally were -- just hit "Origin" to get back. Find currently should search from the original cursor postion to the bottom of the file, then loop up to the top of the file and continue looking for matches (you have to push "Find" to keep searching). Again, the Origin button always will return you to where you originally had the cursor when you first started Find (closing Find, then restarting it will update the origin to the new cursor position).
--Fixed the color selection, it will now not close the colorpicker dialog when you cancel a color selection.
--Reduced the size of the Set Tabs dialog.